Inline Caching Meets Quickening
نویسنده
چکیده
Inline caches effectively eliminate the overhead implied by dynamic typing. Yet, inline caching is mostly used in code generated by just-in-time compilers. We present efficient implementation techniques for using inline caches without dynamic translation, thus enabling future interpreter implementers to use this important optimization technique— we report speedups of up to a factor of 1.71—without the additional implementation and maintenance costs incurred by using a just-in-time compiler.
منابع مشابه
HPDedup: A Hybrid Prioritized Data Deduplication Mechanism for Primary Storage in the Cloud
Eliminating duplicate data in primary storage of clouds increases the cost-efficiency of cloud service providers as well as reduces the cost of users for using cloud services. Most existing primary deduplication techniques either use inline caching to exploit locality in primary workloads or use postprocessing deduplication running in system idle time to avoid the negative impact on I/O perform...
متن کاملAn architecture for interpreted dynamic object-oriented languages
of the thesis has been supplied on the condition that anyone who consults it is understood to recognise that its copyright rests with its author and that no quotation from the thesis and no information derived from it may be published without the prior written consent of the author. This thesis may be made available for consultation within the University Library and may be photocopied or lent t...
متن کاملType Feedback for Bytecode Interpreters
This position paper proposes the exploitation of type feedback mechanisms, or more precisely, polymorphic inline caches, for purely interpreting implementations of object-oriented programming languages. Using Squeak’s virtual machine as an example, polymorphic inline caches are discussed as an alternative to global caching. An implementation proposal for polymorphic inline caches in the Squeak ...
متن کاملA Modern Objective-C Runtime
In light of the recent modifications to the de facto standard implementation ObjectiveC language by Apple Inc., the GNU Objective-C runtime lacks a number of features that are desirable for a modern implementation. This paper presents a metaobject protocol flexible enough to implement Objective-C and other languages of interest. It also presents an implementation of this model in the form of a ...
متن کاملTowards JIT compilation for IO language
IO [6] is a relatively new pure object-oriented language, providing dynamic features comparable with popular scripting languages like Python or Ruby. IO has simple but flexible syntax, allowing for metaprogramming at the syntax tree level. Some aspects of the syntax, such as operator and assignment reshuffling, make IO source code feel natural. Availability of runtime code modification and simp...
متن کامل